package com.bmmtwabp.employeedashbord.dao;

import com.bmmtwabp.employeedashbord.domain.Heat;
import com.bmmtwabp.employeedashbord.vo.HeatVo;
import com.bmmtwabp.employeedashbord.vo.QueryHeatVo;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

@Repository
public interface HeatMapper {

  Heat getHeatInfoById(@Param("heatId") Long heatId);

  Heat getHeatInfoByOpenIdAndStartTime(@Param("openId") String openId,
      @Param("startTime") String startTime, @Param("zoneName") String zoneName);

  Heat getHeatingInfoByOpenId(@Param("openId") String openId, @Param("zoneName") String zoneName,
      @Param("heatStatus") Integer heatStatus);

  Heat getHeatingInfoByZoom(@Param("zoneName") String zoneName);

  Integer insertHeat(Heat heat);

  Integer readyHeat(@Param("startWaitTime") String startWaitTime, @Param("openId") String openId,
      @Param("zoneName") String zoneName);

  Integer startHeat(@Param("openId") String openId, @Param("startTime") String startTime,
      @Param("zoneName") String zoneName);

  Integer overHeat(@Param("openId") String openId, @Param("endTime") String endTime,
      @Param("zoneName") String zoneName);

  Integer cancelHeat(@Param("openId") String openId, @Param("zoneName") String zoneName);

  Integer overHeatByHeatId(@Param("heatId") Long heatId, @Param("endTime") String endTime);

  List<HeatVo> getHeatVoList(QueryHeatVo queryHeatVo);

  List<HeatVo> getHeatListForApp(@Param("zoneName") String zoneName);

  Heat getWaitFirstHeat(@Param("zoneName") String zoneName);

  Heat getReadyHeat(@Param("zoneName") String zoneName);

  Integer getHistoryHeatSum(@Param("zoneName") String zoneName);

  Integer getWaitHeatSum(@Param("zoneName") String zoneName);

  Integer getReadyHeatSum(@Param("zoneName") String zoneName);

  Integer getHeatingSum(@Param("zoneName") String zoneName);

  String getHeatingNickName(@Param("zoneName") String zoneName);

  String getUserHeatStatusByZoomName(@Param("openId") String openId,
      @Param("zoneName") String zoneName);

  void hideHeatLists(@Param("waitTime") String waitTime);

}
